Technical Field
This disclosure relates generally to integrated circuits, and, more specifically, to integrated circuits implementing direct memory access (DMA).
Description of the Related Art
An integrated circuit may implement a DMA system to facilitate performance of read and write operations between peripheral devices on a system bus without involving the processor to facilitate the exchange. In such a system, peripheral devices wishing to send or receive data may submit requests to a DMA controller, which, in turn, generates a set of corresponding bus master commands to set up the exchanges. For example, an input/output (I/O) device that wishes to store new data (e.g., from a user's input) in memory may submit a request to the DMA controller to perform the exchange (as opposed to having the central processing unit (CPU) read the data and write it to memory).
DMA controllers may also be used to move data from one location in memory to another without involving the processor for each read and write operation. For example, a processor's memory controller unit may instead specify, to a DMA controller, a source address of where the data is located, a destination address to store the data, and a block size identifying the size of the data. The DMA controller may then generate the writes and reads to move the data while the processor is able to perform other various operations.